'use strict';

function getObjectURL(file) {
    var url = null;
    if (window.createObjcectURL != undefined) {
        url = window.createOjcectURL(file);
    } else if (window.URL != undefined) {
        url = window.URL.createObjectURL(file);
    } else if (window.webkitURL != undefined) {
        url = window.webkitURL.createObjectURL(file);
    }
    return url;
}

//校验图片类型及大小
function loadImage(img,size) {
    var filePath = img.value;
    var fileExt = filePath.substring(filePath.lastIndexOf("."))
        .toLowerCase();

    if (!checkFileExt(fileExt)) {
        layer.msg("您上传的文件不是图片,请重新上传！",{anim: 6});
        img.value = "";
        return;
    }
    if (img.files && img.files[0]) {
        if ((img.files[0].size / 1024).toFixed(0) > size){
            layer.msg("图片不能超过1M,请重新选择",{anim: 6});
            img.value = "";
            return;
        }
    } else {
        img.select();
        var url = document.selection.createRange().text;
        try {
            var fso = new ActiveXObject("Scripting.FileSystemObject");
        } catch (e) {
            layer.msg('如果你用的是ie8以下 请将安全级别调低！',{anim: 6});
        }
        layer.msg("文件大小为：" + (fso.GetFile(url).size / 1024).toFixed(0) + "kb",{anim: 6});
    }
}

function checkFileExt(ext) {
    if (!ext.match(/.jpg|.jpeg|.gif|.png|.bmp/i)) {
        return false;
    }
    return true;
}

function notifyMe(data) {
    var notification = null;
    var msg = data.msg;
    var nick = data.sendUser;
    var type = data.type;
    switch(type){
        case 'init':
            notification = new Notification(nick,{
                body: msg,
                icon: 'http://'+host+'/icon/enter.png',
            });
            break;
        case 'msg':
            notification = new Notification(nick,{
                body: msg,
                icon: 'http://'+host+'/icon/mail.png',
            });
            break;
        case 'img':
            notification = new Notification(nick,{
                icon: msg,
                // body: '你收到一张图片',
            });
            break;
        default:
            break;
    }

    // 先检查浏览器是否支持
    if (!("Notification" in window)) {
        layer.msg("您的浏览器不支持桌面通知",{anim: 6});
    }

    // 检查用户是否同意接受通知
    else if (Notification.permission === "granted") {
        // If it's okay let's create a notification
        var notification1 = notification;
        notification.onclick = function() {
            notification.close();
            window.resizeBy(-100,-100)
        };
    }

    // 否则我们需要向用户获取权限
    else if (Notification.permission !== 'denied') {
        Notification.requestPermission(function (permission) {
            // 如果用户同意，就可以向他们发送通知
            if (permission === "granted") {
                var notification1 = notification;
                notification.onclick = function() {
                    notification.close();
                    window.resizeBy(-100,-100)
                };
            }
        });
    }
    // 最后，如果执行到这里，说明用户已经拒绝对相关通知进行授权
    // 出于尊重，我们不应该再打扰他们了
}

function checkNotification() {
    $(".login").animate({height:'250px'},200);
    $(".login-input-content").animate({'margin-top':'0px'},200);
    if (!("Notification" in window)) {
        layer.msg("您的浏览器不支持桌面通知",{anim: 6});
    }else{
        Notification.requestPermission();
    }
}

// 查看原图
function originalImage(obj) {
    layer.photos({
        photos: obj
        ,anim: 5 //0-6的选择，指定弹出图片动画类型，默认随机（请注意，3.0之前的版本用shift参数）
    });
}

// 清空屏幕
function emptyScreen(){
    layer.msg('是否清空屏幕？', {
        anim: 6,
        time: 0 //不自动关闭
        ,btn: ['确定', '取消']
        ,yes: function(index){
            layer.close(index);
            $("#message").empty();
        }
    });
}


//====================视频模块===========================
//将字符串转化为二进制的数据
function strToBinary(str){
    var result = [];
    var list = str.split("");
    for(var i=0;i<list.length;i++){
        if(i != 0){
            //加空格，分割二进制
            result.push(" ");
        }
        var item = list[i];
        //将字符串转化为二进制数据
        var binaryStr = item.charCodeAt().toString(2);
        result.push(binaryStr);
    }
    return result.join("");
}

//二进制转为字符串
function binaryToStr(str){
    var result = [];
    //
    //通过空格来分开二进制的字符
    var list = str.split(" ");
    for(var i=0;i<list.length;i++){
        var item = list[i];
        //转为asciicode 码
        var asciiCode = parseInt(item,2);
        //转为文字
        var charValue = String.fromCharCode(asciiCode);
        //添加到集合中
        result.push(charValue);
    }
    //返回结果
    return result.join("");
}

